# MPC5500/WR/makefile: Wind River makefile for initialization program.
#
# Target: PowerPC 5500, ELF, e200z6, no floating point (-tPPC5554EN).
#         Link for execution by rtasim library (-t...:rtasim).
#

CC = dcc
AS = das
LD = dld

# Change the following line to suit your MPC5500 device definition files installation
HEADERS = "..\header"

# Uncomment one of the following lines to select a linker configuration file
# LINKER_FILE = WR_MPC5533_rom.ld
# LINKER_FILE = WR_MPC5533_ram.ld

# LINKER_FILE = WR_MPC5534_rom.ld
# LINKER_FILE = WR_MPC5534_ram.ld

# LINKER_FILE = WR_MPC5553_rom.ld
# LINKER_FILE = WR_MPC5553_ram.ld

# LINKER_FILE = WR_MPC5554_rom.ld
# LINKER_FILE = WR_MPC5554_ram.ld

 LINKER_FILE = WR_MPC5561_rom.ld
# LINKER_FILE = WR_MPC5561_ram.ld

# LINKER_FILE = WR_MPC5565_rom.ld
# LINKER_FILE = WR_MPC5565_ram.ld

# LINKER_FILE = WR_MPC5566_rom.ld
# LINKER_FILE = WR_MPC5566_ram.ld

# LINKER_FILE = WR_MPC5567_rom.ld
# LINKER_FILE = WR_MPC5567_ram.ld

OUTPUT = master_node
OBJDIR = ..\obj
SOURCE = ..\src

TARGET = -tPPC5554ES:simple

CFLAGS = $(TARGET) -c -g -I $(HEADERS) -I $(SOURCE) -Xdebug-local-cie
ASFLAGS = $(TARGET) -g -I $(HEADERS) -I $(SOURCE)
LDFLAGS = $(TARGET) $(LINKER_FILE) -m6
LIBS    = -li -lchar -lc -lcfp -lg
 
OBJECTS =   $(OBJDIR)/__start.o \
	        $(OBJDIR)/bitrev_table_16bit.o \
		    $(OBJDIR)/seed_radix4_16bit_1024.o \
		    $(OBJDIR)/fft_radix4_frac32.o \
		    $(OBJDIR)/w_table_radix4_frac32_1024.o \
			$(OBJDIR)/mpc5500_asmcfg.o \
			$(OBJDIR)/mpc5500_demo.o \
			$(OBJDIR)/mpc5500_ccdcfg.o \
			$(OBJDIR)/mpc5500_SRAM_load.o \
			$(OBJDIR)/intc_sw_handlers.o \
			$(OBJDIR)/IntcIsrVectors.o \
			$(OBJDIR)/eDMA_eQADC_setup.o \
		    $(OBJDIR)/FFT_freq.o \
			$(OBJDIR)/eMIOS_setup.o \
			$(OBJDIR)/FlexCAN_setup.o \
			$(OBJDIR)/DSPI_setup.o \
			$(OBJDIR)/fs_gpio.o \
			$(OBJDIR)/serial.o \
			$(OBJDIR)/printf.o \
			$(OBJDIR)/vars.o \
			$(OBJDIR)/mpc5500_xcptn.o \
			$(OBJDIR)/main.o

$(OUTPUT).elf : mkdir $(OBJECTS) $(LINKER_FILE)
	$(LD) $(LDFLAGS) $(LIBS) $(OBJECTS) -o $(OBJDIR)/$(OUTPUT).elf > $(OBJDIR)/$(OUTPUT).map
	ddump  -Rv $(OBJDIR)/$(OUTPUT).elf -o $(OBJDIR)/$(OUTPUT).s19

$(OBJDIR)/%.o: $(SOURCE)/%.c
	$(CC) $(CFLAGS) -Wa,-l -o $@ $<
	
$(OBJDIR)/%.o: $(SOURCE)/%.s
	$(AS) $(ASFLAGS) -o $@ $<

all: $(OUTPUT).elf

clean:
	rm ../obj/*
	rmdir ../obj

build: clean all
	
mkdir: 
	mkdir $(OBJDIR)
